<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>New API</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/New_API"> <link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-New_API rootpage-New_API skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">New API</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1248332772">
/* start https://en.wikipedia.org/ */
.mw-parser-output .multiple-issues-text{width:95%;margin:0.2em 0}.mw-parser-output .multiple-issues-text>.mw-collapsible-content{margin-top:0.3em}.mw-parser-output .compact-ambox .ambox{border:none;border-collapse:collapse;background-color:transparent;margin:0 0 0 1.6em!important;padding:0!important;width:auto;display:block}body.mediawiki .mw-parser-output .compact-ambox .ambox.mbox-small-left{font-size:100%;width:auto;margin:0}.mw-parser-output .compact-ambox .ambox .mbox-text{padding:0!important;margin:0!important}.mw-parser-output .compact-ambox .ambox .mbox-text-span{display:list-item;line-height:1.5em;list-style-type:disc}body.skin-minerva .mw-parser-output .multiple-issues-text>.mw-collapsible-toggle,.mw-parser-output .compact-ambox .ambox .mbox-image,.mw-parser-output .compact-ambox .ambox .mbox-imageright,.mw-parser-output .compact-ambox .ambox .mbox-empty-cell,.mw-parser-output .compact-ambox .hide-when-compact{display:none}
/* end https://en.wikipedia.org/ */
</style>
<p><b>New API</b> (also referred to as <b>NAPI</b>) is an interface to use <a href="Interrupt_mitigation" class="mw-redirect" title="Interrupt mitigation">interrupt mitigation</a> techniques for networking devices in the <a href="Linux_kernel" title="Linux kernel">Linux kernel</a>. Such an approach is intended to reduce the overhead of packet receiving. The idea is to defer incoming message handling until there is a sufficient amount of them so that it is worth handling them all at once.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Motivation">Motivation</h2></div>
<p>A straightforward method of implementing a network driver is to interrupt the kernel by issuing an <a href="Interrupt_request" title="Interrupt request">interrupt request</a> (IRQ) for each and every incoming packet. However, servicing IRQs is costly in terms of processor resources and time. Therefore, the straightforward implementation can be very inefficient in high-speed networks, constantly interrupting the kernel with the thousands of packets per second. Overall performance of the system as well as network throughput can suffer as a result.
</p><p><a href="Polling_(computer_science)" title="Polling (computer science)">Polling</a> is an alternative to interrupt-based processing. The kernel can periodically check for the arrival of incoming network packets without being interrupted, which eliminates the overhead of interrupt processing. Establishing an optimal polling frequency is important, however. Too frequent polling wastes CPU resources by repeatedly checking for incoming packets that have not yet arrived. On the other hand, polling too infrequently introduces latency by reducing system reactivity to incoming packets, and it may result in the loss of packets if the incoming packet buffer fills up before being processed.
</p><p>As a compromise, the Linux kernel uses the interrupt-driven mode by default and only switches to polling mode when the flow of incoming packets exceeds a certain threshold, known as the "weight" of the network interface.
</p>
<div class="mw-heading mw-heading2"><h2 id="Compliant_drivers">Compliant drivers</h2></div>
<p>A driver using the NAPI interface will work as follow:
</p>
<ul><li>Packet receive interrupts are disabled.</li>
<li>The driver provides a poll method to the kernel. That method will fetch all incoming packets available, on the network card or a <a href="Direct_memory_access" title="Direct memory access">DMA</a> ring, so that they will then be handled by the kernel.</li>
<li>When allowed to, the kernel calls the device poll method to possibly handle many packets at once.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Advantages">Advantages</h2></div>
<ul><li>The load induced by <a href="Interrupt_request" title="Interrupt request">interrupts</a> is reduced even though the kernel has to poll.</li>
<li>Packets are less likely to be re-ordered, while out of order packet handling might be a bottleneck otherwise. </li>
<li>In case the kernel is unable to handle all incoming packets, the kernel does not have to do any work in order to drop them: they are simply overwritten in the <a href="Network_card" class="mw-redirect" title="Network card">network card</a>'s incoming <a href="Ring_buffer" class="mw-redirect" title="Ring buffer">ring buffer</a>. Without NAPI, the kernel has to handle every incoming packet regardless of whether there is time to service it, which leads to <a href="Thrashing_(computer_science)" title="Thrashing (computer science)">thrashing</a>.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>NAPI was an over-three-year effort by Alexey Kuznetsov, Jamal Hadi Salim and Robert Olsson. Initial effort to include NAPI was met with resistance by some members of the community, however <a href="David_S._Miller" title="David S. Miller">David Miller</a> worked hard to ensure NAPI's inclusion.
</p><p>A lot of real world testing was done in the <a href="Uppsala_University" title="Uppsala University">Uppsala university</a> network before inclusion. In fact, <a rel="nofollow" class="external text" href="https://www.slu.se">www.slu.se</a> was the first production NAPI-based OS and is still powered to this day by NAPI-based Bifrost/Linux routers. The <a rel="nofollow" class="external text" href="https://wiki.linuxfoundation.org/networking/pktgen">pktgen</a> <a href="Packet_generator" title="Packet generator">traffic generator</a> was also born around this time. Pktgen was extensively used to test NAPI scenarios not induced by real world traffic.
</p>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
</div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFJamal_Hadi_SalimRobert_OlssonAlexey_Kuznetsov2001" class="citation conference cs1">Jamal Hadi Salim; Robert Olsson; Alexey Kuznetsov (2001-11-10). <a rel="nofollow" class="external text" href="http://www.usenix.org/publications/library/proceedings/als01/full_papers/jamal/jamal.pdf"><i>Beyond softnet</i></a> <span class="cs1-format">(PDF)</span>. <a rel="nofollow" class="external text" href="http://www.usenix.org/publications/library/proceedings/als01/">5th Annual Linux Showcase & Conference (ALS '01)</a>. pp. <span class="nowrap">165–</span>172<span class="reference-accessdate">. Retrieved <span class="nowrap">2011-03-06</span></span>.</cite> The classical NAPI paper.</li>
<li><cite id="CITEREFJonathan_Corbet2003" class="citation web cs1">Jonathan Corbet (2003-04-28). <a rel="nofollow" class="external text" href="https://lwn.net/Articles/30107/">"Driver porting: Network drivers"</a>. <i><a href="LWN.net" title="LWN.net">LWN.net</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">2011-03-06</span></span>.</cite></li>
<li><cite id="CITEREFJonathan_Corbet2006" class="citation web cs1">Jonathan Corbet (2006-12-18). <a rel="nofollow" class="external text" href="https://lwn.net/Articles/214457/">"Reworking NAPI"</a>. <i><a href="LWN.net" title="LWN.net">LWN.net</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">2011-03-06</span></span>.</cite></li>
<li><cite id="CITEREFJonathan_CorbetAlessandro_RubiniGreg_Kroah-Hartman2005" class="citation book cs1">Jonathan Corbet; Alessandro Rubini; Greg Kroah-Hartman (February 2005). <a rel="nofollow" class="external text" href="https://lwn.net/images/pdf/LDD3/ch17.pdf">"Chapter 17: Networking drivers"</a> <span class="cs1-format">(PDF)</span>. <a rel="nofollow" class="external text" href="https://lwn.net/Kernel/LDD3/"><i>Linux Device Drivers</i></a> (3rd ed.). O'Reilly Media. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-596-00590-0</bdi><span class="reference-accessdate">. Retrieved <span class="nowrap">2011-03-06</span></span>.</cite></li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="ftp://robur.slu.se/pub/Linux/net-development/NAPI/">Early NAPI work</a></li>
<li><a rel="nofollow" class="external text" href="http://www.linuxfoundation.org/collaborate/workgroups/networking/napi">NAPI description on Linux Foundation</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160611104440/http://www.linuxfoundation.org/collaborate/workgroups/networking/napi">Archived</a> 2016-06-11 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20111030030517/http://www.linuxfoundation.org/collaborate/workgroups/networking/networkoverview">Network overview</a>, November 19, 2009, The Linux Foundation, by Rami Rosen (archived from the original on October 30, 2011)</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Linux_kernel514" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Linux_kernel514" style="font-size:114%;margin:0 4em"><a href="Linux_kernel" title="Linux kernel">Linux kernel</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Organization</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th id="Kernel19" scope="row" class="navbox-group" style="width:1%">Kernel</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Linux_Foundation" title="Linux Foundation">Linux Foundation</a></li>
<li><a href="Linux_Mark_Institute" title="Linux Mark Institute">Linux Mark Institute</a></li>
<li><a href="Linus's_law" title="Linus's law">Linus's law</a></li>
<li><a href="Tanenbaum%E2%80%93Torvalds_debate" title="Tanenbaum–Torvalds debate">Tanenbaum–Torvalds debate</a></li>
<li><a href="Tux_(mascot)" title="Tux (mascot)">Tux</a></li>
<li><a href="SCO%E2%80%93Linux_disputes" title="SCO–Linux disputes">SCO disputes</a></li>
<li><a href="Linaro" title="Linaro">Linaro</a></li>
<li><a href="GNU_General_Public_License#Version_2" title="GNU General Public License">GNU GPL v2</a></li>
<li><a href="Menuconfig" title="Menuconfig">menuconfig</a></li>
<li><a href="List_of_Linux-supported_computer_architectures" title="List of Linux-supported computer architectures">Supported computer architectures</a></li>
<li><a href="Linux_kernel_version_history" title="Linux kernel version history">Version history</a></li>
<li><a href="Criticism_of_Linux" title="Criticism of Linux">Criticism</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Support</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li>Developers
<ul><li><i><a href="The_Linux_Programming_Interface" title="The Linux Programming Interface">The Linux Programming Interface</a></i></li>
<li><a href="Kernel.org" title="Kernel.org">kernel.org</a></li>
<li><a href="Linux_kernel_mailing_list" title="Linux kernel mailing list">LKML</a></li>
<li><a href="Linux_conference" class="mw-redirect" title="Linux conference">Linux conferences</a></li></ul></li>
<li>Users
<ul><li><a href="Linux_user_group" title="Linux user group">Linux User Group (LUG)</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">People</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Werner_Almesberger" title="Werner Almesberger">Werner Almesberger</a></li>
<li><a href="H._Peter_Anvin" title="H. Peter Anvin">H. Peter Anvin</a></li>
<li><a href="Jens_Axboe" title="Jens Axboe">Jens Axboe</a></li>
<li><a href="Moshe_Bar_(investor)" title="Moshe Bar (investor)">Moshe Bar</a></li>
<li><a href="Suparna_Bhattacharya" title="Suparna Bhattacharya">Suparna Bhattacharya</a></li>
<li><a href="Andries_Brouwer" title="Andries Brouwer">Andries Brouwer</a></li>
<li><a href="R%C3%A9my_Card" title="Rémy Card">Rémy Card</a></li>
<li><a href="Alan_Cox_(computer_programmer)" title="Alan Cox (computer programmer)">Alan Cox</a></li>
<li><a href="Matthew_Garrett" title="Matthew Garrett">Matthew Garrett</a></li>
<li><a href="Avi_Kivity" title="Avi Kivity">Avi Kivity</a></li>
<li><a href="Con_Kolivas" title="Con Kolivas">Con Kolivas</a></li>
<li><a href="Greg_Kroah-Hartman" title="Greg Kroah-Hartman">Greg Kroah-Hartman</a></li>
<li><a href="Benson_Leung" title="Benson Leung">Benson Leung</a></li>
<li><a href="Robert_Love" title="Robert Love">Robert Love</a></li>
<li><a href="David_S._Miller" title="David S. Miller">David S. Miller</a></li>
<li><a href="Ingo_Moln%C3%A1r" title="Ingo Molnár">Ingo Molnár</a></li>
<li><a href="Andrew_Morton_(computer_programmer)" title="Andrew Morton (computer programmer)">Andrew Morton</a></li>
<li><a href="Hans_Reiser" title="Hans Reiser">Hans Reiser</a></li>
<li><a href="Rusty_Russell" title="Rusty Russell">Rusty Russell</a></li>
<li><a href="Shuah_Khan" title="Shuah Khan">Shuah Khan</a></li>
<li><a href="Linus_Torvalds" title="Linus Torvalds">Linus Torvalds</a></li>
<li><a href="Theodore_Ts'o" title="Theodore Ts'o">Theodore Ts'o</a></li>
<li><a href="Stephen_Tweedie" title="Stephen Tweedie">Stephen Tweedie</a></li>
<li><a href="Harald_Welte" title="Harald Welte">Harald Welte</a></li>
<li><a href="Chris_Wright_(programmer)" title="Chris Wright (programmer)">Chris Wright</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Technical</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Debugging</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CRIU" title="CRIU">CRIU</a></li>
<li><a href="Ftrace" title="Ftrace">ftrace</a></li>
<li><a href="Kdump_(Linux)" title="Kdump (Linux)">kdump</a></li>
<li><a href="Linux_kernel_oops" title="Linux kernel oops">Linux kernel oops</a></li>
<li><a href="SystemTap" title="SystemTap">SystemTap</a></li>
<li><a href="Berkeley_Packet_Filter" title="Berkeley Packet Filter">BPF</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Booting_process_of_Linux" title="Booting process of Linux">Startup</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Vmlinux" title="Vmlinux">vmlinux</a></li>
<li><a href="System.map" title="System.map">System.map</a></li>
<li><a href="Dracut_(software)" title="Dracut (software)">dracut</a></li>
<li><a href="Initrd" class="mw-redirect" title="Initrd">initrd</a></li>
<li><a href="Initramfs" class="mw-redirect" title="Initramfs">initramfs</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Linux_kernel_interfaces" title="Linux kernel interfaces">ABIs</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Linux_Standard_Base" title="Linux Standard Base">Linux Standard Base</a></li>
<li><a href="X32_ABI" title="X32 ABI">x32 ABI</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Linux_kernel_interfaces" title="Linux kernel interfaces">APIs</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Kernel</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Linux_kernel_interfaces#SCI" title="Linux kernel interfaces">System Call<br>Interface</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="POSIX" title="POSIX">POSIX</a>
<ul><li><a href="Ioctl" title="Ioctl">ioctl</a></li>
<li><a href="Select_(Unix)" title="Select (Unix)">select</a></li>
<li><a href="Open_(system_call)" title="Open (system call)">open</a></li>
<li><a href="Read_(system_call)" title="Read (system call)">read</a></li>
<li><a href="Close_(system_call)" title="Close (system call)">close</a></li>
<li><a href="Sync_(Unix)" title="Sync (Unix)">sync</a></li>
<li>…</li></ul></li>
<li><a href="Linux_kernel_interfaces#Additions_to_POSIX" title="Linux kernel interfaces">Linux-only</a>
<ul><li><a href="Futex" title="Futex">futex</a></li>
<li><a href="Epoll" title="Epoll">epoll</a></li>
<li><a href="Splice_(system_call)" title="Splice (system call)">splice</a></li>
<li><a href="Dnotify" title="Dnotify">dnotify</a></li>
<li><a href="Inotify" title="Inotify">inotify</a></li>
<li><a href="Readahead" title="Readahead">readahead</a></li>
<li>…</li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Linux_kernel_interfaces#In–kernel_APIs" title="Linux kernel interfaces">In-kernel</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Advanced_Linux_Sound_Architecture" title="Advanced Linux Sound Architecture">ALSA</a></li>
<li><a href="Crypto_API_(Linux)" title="Crypto API (Linux)">Crypto API</a></li>
<li><a href="Io_uring" title="Io uring">io uring</a></li>
<li><a href="Direct_Rendering_Manager" title="Direct Rendering Manager">DRM</a></li>
<li><a href="Kernfs_(Linux)" title="Kernfs (Linux)">kernfs</a></li>
<li><a href="Memory_barrier" title="Memory barrier">Memory barrier</a></li>
<li><a href="Read-copy-update" title="Read-copy-update">RCU</a></li>
<li><a href="Video4Linux" title="Video4Linux">Video4Linux</a></li>
<li><a href="IIO_Framework" title="IIO Framework">IIO</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="User_space_and_kernel_space" title="User space and kernel space">Userspace</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Daemon_(computing)" title="Daemon (computing)">Daemons</a>,<br><a href="Virtual_file_system" title="Virtual file system">File systems</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li>bpffs</li>
<li><a href="Configfs" title="Configfs">configfs</a></li>
<li><a href="Devfs" class="mw-redirect" title="Devfs">devfs</a></li>
<li><a href="Devpts" title="Devpts">devpts</a></li>
<li><a href="Debugfs" title="Debugfs">debugfs</a></li>
<li><a href="Filesystem_in_Userspace" title="Filesystem in Userspace">FUSE</a></li>
<li>hugetlbfs</li>
<li>pipefs</li>
<li><a href="Procfs" title="Procfs">procfs</a></li>
<li>securityfs</li>
<li>sockfs</li>
<li><a href="Sysfs" title="Sysfs">sysfs</a></li>
<li><a href="Tmpfs" title="Tmpfs">tmpfs</a></li>
<li><a href="Systemd" title="Systemd">systemd</a>
<ul><li><a href="Udev" title="Udev">udev</a></li></ul></li>
<li><a href="Kmscon" title="Kmscon">Kmscon</a></li>
<li><a href="Binfmt_misc" title="Binfmt misc">binfmt_misc</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Wrapper_library" title="Wrapper library">Wrapper<br>libraries</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="C_standard_library" title="C standard library">C standard library</a>
<ul><li><a href="Glibc" title="Glibc">glibc</a></li>
<li><a href="UClibc" title="UClibc">uClibc</a></li>
<li><a href="Bionic_(software)" title="Bionic (software)">Bionic</a>
<ul><li><a href="Libhybris" title="Libhybris">libhybris</a></li></ul></li>
<li><a href="Dietlibc" title="Dietlibc">dietlibc</a></li>
<li><a href="Embedded_GLIBC" class="mw-redirect" title="Embedded GLIBC">EGLIBC</a></li>
<li><a href="Klibc" title="Klibc">klibc</a></li>
<li><a href="Musl" title="Musl">musl</a></li>
<li><a href="Newlib" title="Newlib">Newlib</a></li></ul></li>
<li><a href="Cgroups" title="Cgroups">libcgroup</a></li>
<li><a href="Direct_Rendering_Manager" title="Direct Rendering Manager">libdrm</a></li>
<li><a href="Advanced_Linux_Sound_Architecture" title="Advanced Linux Sound Architecture">libalsa</a></li>
<li><a href="Evdev" title="Evdev">libevdev</a></li>
<li><a href="Libusb" title="Libusb">libusb</a></li>
<li><a href="Io_uring" title="Io uring">liburing</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Components</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Loadable_kernel_module" title="Loadable kernel module">Kernel modules</a></li>
<li><a href="BlueZ" class="mw-redirect" title="BlueZ">BlueZ</a></li>
<li><a href="Cgroups" title="Cgroups">cgroups</a></li>
<li><a href="Linux_console" title="Linux console">Console</a></li>
<li><a href="Bcache" title="Bcache">bcache</a></li>
<li><a href="Device_mapper" title="Device mapper">Device mapper</a></li>
<li><a href="Dm-cache" title="Dm-cache">dm-cache</a></li>
<li><a href="Dm-crypt" title="Dm-crypt">dm-crypt</a></li>
<li><a href="Direct_Rendering_Manager" title="Direct Rendering Manager">DRM</a></li>
<li><a href="EDAC_(Linux)" class="mw-redirect" title="EDAC (Linux)">EDAC</a></li>
<li><a href="Evdev" title="Evdev">evdev</a></li>
<li><a href="Kernel_same-page_merging" title="Kernel same-page merging">Kernel same-page merging</a> (KSM)</li>
<li><a href="LIO_(SCSI_target)" title="LIO (SCSI target)">LIO</a></li>
<li><a href="Linux_framebuffer" title="Linux framebuffer">Framebuffer</a></li>
<li><a href="Logical_Volume_Manager_(Linux)" title="Logical Volume Manager (Linux)">LVM</a></li>
<li><a href="KMS_driver" class="mw-redirect" title="KMS driver">KMS driver</a></li>
<li><a href="Netfilter" title="Netfilter">Netfilter</a></li>
<li><a href="Netlink" title="Netlink">Netlink</a></li>
<li><a href="Nftables" title="Nftables">nftables</a></li>
<li><a href="Network_scheduler" title="Network scheduler">Network scheduler</a></li>
<li><a href="Perf_(Linux)" title="Perf (Linux)">perf</a></li>
<li><a href="SLUB_(software)" title="SLUB (software)">SLUB</a></li>
<li><a href="Zram" title="Zram">zram</a></li>
<li><a href="Zswap" title="Zswap">zswap</a></li></ul>
<ul><li><a href="Scheduling_(computing)#Linux" title="Scheduling (computing)">Process and I/O schedulers</a>:</li>
<li><a href="Brain_Fuck_Scheduler" title="Brain Fuck Scheduler">Brain Fuck Scheduler</a></li>
<li><a href="Completely_Fair_Scheduler" title="Completely Fair Scheduler">Completely Fair Scheduler</a> (CFS)</li>
<li><a href="Earliest_eligible_virtual_deadline_first_scheduling" title="Earliest eligible virtual deadline first scheduling">Earliest eligible virtual deadline first</a> (EEVDF)</li>
<li><a href="Noop_scheduler" title="Noop scheduler">Noop scheduler</a></li>
<li><a href="O(n)_scheduler" title="O(n) scheduler">O(n) scheduler</a></li>
<li><a href="O(1)_scheduler" title="O(1) scheduler">O(1) scheduler</a></li>
<li><a href="SCHED_DEADLINE" title="SCHED DEADLINE">SCHED_DEADLINE</a></li>
<li><a href="SCHED_FIFO" class="mw-redirect" title="SCHED FIFO">SCHED_FIFO</a></li>
<li><a href="SCHED_RR" class="mw-redirect" title="SCHED RR">SCHED_RR</a></li></ul>
<ul><li><a href="Linux_Security_Modules" title="Linux Security Modules">Security Modules</a>: <a href="AppArmor" title="AppArmor">AppArmor</a></li>
<li><a href="Exec_Shield" title="Exec Shield">Exec Shield</a></li>
<li><a href="Seccomp" title="Seccomp">seccomp</a></li>
<li><a href="Security-Enhanced_Linux" title="Security-Enhanced Linux">SELinux</a></li>
<li><a href="Smack_(software)" title="Smack (software)">Smack</a></li>
<li><a href="Tomoyo_Linux" title="Tomoyo Linux">Tomoyo Linux</a></li>
<li><a href="Linux_PAM" title="Linux PAM">Linux PAM</a></li></ul>
<ul><li><a href="Device_driver" title="Device driver">Device drivers</a>
<ul><li><a href="Comparison_of_open-source_wireless_drivers" title="Comparison of open-source wireless drivers">802.11</a></li>
<li><a href="Free_and_open-source_graphics_device_driver" title="Free and open-source graphics device driver">graphics</a></li></ul></li>
<li><a href="Raw_device" title="Raw device">Raw device</a></li></ul>
<ul><li><a href="Initramfs" class="mw-redirect" title="Initramfs">initramfs</a></li>
<li><a href="KernelCare" title="KernelCare">KernelCare</a></li>
<li><a href="Kexec" title="Kexec">kexec</a></li>
<li><a href="KGraft" title="KGraft">kGraft</a></li>
<li><a href="Kpatch" title="Kpatch">kpatch</a></li>
<li><a href="Ksplice" title="Ksplice">Ksplice</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Variants</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Mainline_Linux" class="mw-redirect" title="Mainline Linux">Mainline</a>
<ul><li><a href="Linux_kernel" title="Linux kernel">Linux kernel</a></li>
<li><a href="Linux-libre" title="Linux-libre">Linux-libre</a></li></ul></li>
<li><a href="High-performance_computing" title="High-performance computing">High-performance computing</a>
<ul><li><a href="INK_(operating_system)" title="INK (operating system)">INK</a></li>
<li><a href="Compute_Node_Linux" title="Compute Node Linux">Compute Node Linux</a></li>
<li><a href="Slurm_Workload_Manager" title="Slurm Workload Manager">SLURM</a></li></ul></li>
<li><a href="Real-time_computing" title="Real-time computing">Real-time computing</a>
<ul><li><a href="RTLinux" title="RTLinux">RTLinux</a></li>
<li><a href="RTAI" title="RTAI">RTAI</a></li>
<li><a href="Xenomai" title="Xenomai">Xenomai</a></li>
<li><a href="PREEMPT_RT" title="PREEMPT RT">PREEMPT_RT</a></li></ul></li>
<li><a href="Memory_management_unit" title="Memory management unit">MMU</a>-less
<ul><li><a href="%CE%9CClinux" title="ΜClinux">μClinux</a></li>
<li><a href="PSXLinux" title="PSXLinux">PSXLinux</a></li></ul></li></ul>
</div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th id="Virtualization18" scope="row" class="navbox-group" style="width:1%"><a href="Virtualization" title="Virtualization">Virtualization</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Hypervisor" title="Hypervisor">Hypervisor</a>
<ul><li><a href="Kernel-based_Virtual_Machine" title="Kernel-based Virtual Machine">KVM</a></li>
<li><a href="Xen" title="Xen">Xen</a></li></ul></li>
<li><a href="OS-level_virtualization" title="OS-level virtualization">OS-level virtualization</a>
<ul><li><a href="Linux-VServer" title="Linux-VServer">Linux-VServer</a></li>
<li><a href="Lguest" title="Lguest">Lguest</a></li>
<li><a href="LXC" title="LXC">LXC</a></li>
<li><a href="OpenVZ" title="OpenVZ">OpenVZ</a></li></ul></li>
<li>Other
<ul><li><a href="L4Linux" title="L4Linux">L4Linux</a></li>
<li><a href="User-mode_Linux" title="User-mode Linux">User-mode Linux</a></li>
<li><a href="MkLinux" title="MkLinux">MkLinux</a></li>
<li><a href="Cooperative_Linux" title="Cooperative Linux">coLinux</a></li></ul></li></ul>
</div></td></tr></tbody></table><div>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Linux_adoption" title="Linux adoption">Adoption</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th id="Rangeof_use48" scope="row" class="navbox-group" style="width:1%"><a href="Linux_range_of_use" title="Linux range of use">Range<br>of use</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Linux_desktop_environments" class="mw-redirect" title="Linux desktop environments">Desktop</a></li>
<li><a href="Linux_on_embedded_systems" title="Linux on embedded systems">Embedded</a></li>
<li><a href="Video_games_and_Linux" title="Video games and Linux">Gaming</a></li>
<li>Thin client:
<ul><li><a href="Linux_Terminal_Server_Project" title="Linux Terminal Server Project">LTSP</a></li></ul></li>
<li>Server:
<ul><li><a href="LAMP_(software_bundle)" title="LAMP (software bundle)">LAMP</a></li>
<li><a href="LYME_(software_bundle)" title="LYME (software bundle)">LYME-LYCE</a></li></ul></li>
<li><a href="Linux-powered_device" title="Linux-powered device">Devices</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Adopters</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="List_of_Linux_adopters" title="List of Linux adopters">List of Linux adopters</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><b><span class="nowrap"><span class="noviewer" typeof="mw:File"></span> </span><a href="Portal%3ALinux" title="Portal:Linux">Linux portal</a></b></li>
<li><b><span class="nowrap"><span class="noviewer" typeof="mw:File"><span></span></span> </span><a href="Portal%3AFree_and_open-source_software" title="Portal:Free and open-source software">Free and open-source software portal</a></b></li>
<li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> <b>Category</b></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Linux634" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Linux634" style="font-size:114%;margin:0 4em"><a href="Linux" title="Linux">Linux</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Linux_kernel" title="Linux kernel">Linux kernel</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="History_of_Linux" title="History of Linux">History</a></li>
<li><a href="Linus's_law" title="Linus's law">Linus's law</a></li>
<li><a href="Linux-libre" title="Linux-libre">Linux-libre</a></li>
<li><a href="Booting_process_of_Linux" title="Booting process of Linux">Booting process</a></li>
<li><a href="Linux_kernel_oops" title="Linux kernel oops">Kernel oops</a></li>
<li><a href="Tux_(mascot)" title="Tux (mascot)">Tux</a></li>
<li><i>more…</i></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Controversies</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Criticism_of_Linux" title="Criticism of Linux">Criticism of Linux</a></li>
<li><a href="Criticism_of_desktop_Linux" title="Criticism of desktop Linux">Criticism of desktop Linux</a></li>
<li><a href="GNU/Linux_naming_controversy" title="GNU/Linux naming controversy">GNU/Linux naming controversy</a></li>
<li><a href="Tanenbaum%E2%80%93Torvalds_debate" title="Tanenbaum–Torvalds debate">Tanenbaum–Torvalds debate</a></li>
<li><a href="SCO%E2%80%93Linux_disputes" title="SCO–Linux disputes">SCO and Linux</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Linux_distribution" title="Linux distribution">Distributions</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Comparison_of_Linux_distributions" title="Comparison of Linux distributions">General comparison</a></li>
<li><a href="List_of_Linux_distributions" title="List of Linux distributions">Distributions list</a></li>
<li><a href="Comparison_of_netbook-oriented_Linux_distributions" title="Comparison of netbook-oriented Linux distributions">Netbook-specific comparison</a></li>
<li><a href="List_of_Linux_distributions_that_run_from_RAM" title="List of Linux distributions that run from RAM">Distributions that run from RAM</a></li>
<li><a href="Light-weight_Linux_distribution" class="mw-redirect" title="Light-weight Linux distribution">Lightweight</a></li>
<li><a href="Security-focused_operating_system#Linux" title="Security-focused operating system">Security-focused operating system</a></li>
<li><a href="Package_manager" title="Package manager">Package manager</a>
<ul><li><a href="Package_format" title="Package format">Package format</a></li>
<li><a href="List_of_software_package_management_systems" title="List of software package management systems">List of software package managers</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Organizations</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="LinuxChix" title="LinuxChix">LinuxChix</a></li>
<li><a href="Linux_Counter" title="Linux Counter">Linux Counter</a></li>
<li><a href="Linux_Documentation_Project" title="Linux Documentation Project">Linux Documentation Project</a></li>
<li><a href="Linux_Foundation" title="Linux Foundation">Linux Foundation</a></li>
<li><a href="Linux_Mark_Institute" title="Linux Mark Institute">Linux Mark Institute</a></li>
<li><a href="Linux_user_group" title="Linux user group">Linux User Group (LUG)</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Linux_adoption" title="Linux adoption">Adoption</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="List_of_Linux_adopters" title="List of Linux adopters">Adopters</a></li>
<li><a href="Linux_desktop_environments" class="mw-redirect" title="Linux desktop environments">Desktop</a></li>
<li><a href="Linux_on_embedded_systems" title="Linux on embedded systems">Embedded</a></li>
<li><a href="Linux_gaming" class="mw-redirect" title="Linux gaming">Gaming</a></li>
<li><a href="Linux_for_mobile_devices" title="Linux for mobile devices">Mobile</a></li>
<li><a href="Linux_range_of_use" title="Linux range of use">Range of use</a></li>
<li><a href="Linux_malware" title="Linux malware">Linux malware</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Media</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="DistroWatch" title="DistroWatch">DistroWatch</a></li>
<li><i><a href="Free_Software_Magazine" title="Free Software Magazine">Free Software Magazine</a></i></li>
<li><i><a href="Full_Circle_(magazine)" title="Full Circle (magazine)">Full Circle</a></i></li>
<li><a href="Linux.com" title="Linux.com">Linux.com</a></li>
<li><i><a href="Linux_Format" title="Linux Format">Linux Format</a></i></li>
<li><i><a href="Linux_Gazette" title="Linux Gazette">Linux Gazette</a></i></li>
<li><i><a href="Linux_Journal" title="Linux Journal">Linux Journal</a></i></li>
<li><i><a href="Linux_Magazine" title="Linux Magazine">Linux Magazine</a></i></li>
<li><i><a href="LinuxUser" title="LinuxUser">LinuxUser</a></i>
<ul><li><i><a href="Ubuntu_User" title="Ubuntu User">Ubuntu User</a></i></li></ul></li>
<li><a href="Linux_Outlaws" title="Linux Outlaws">Linux Outlaws</a></li>
<li><i><a href="Linux_Voice" title="Linux Voice">Linux Voice</a></i></li>
<li><a href="LugRadio" title="LugRadio">LugRadio</a></li>
<li><a href="LWN.net" title="LWN.net">LWN.net</a></li>
<li><a href="Phoronix_Test_Suite#Phoronix_website" title="Phoronix Test Suite">Phoronix</a></li>
<li><i><a href="Revolution_OS" title="Revolution OS">Revolution OS</a></i></li>
<li><a href="The_Code_(2001_film)" title="The Code (2001 film)"><i>The Code</i></a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="List_of_computer_security_certifications" title="List of computer security certifications">Security<br>certifications</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CompTIA_Linux%2B" class="mw-redirect" title="CompTIA Linux+">CompTIA Linux+</a></li>
<li><a href="Linux_Foundation_Linux_Certification" class="mw-redirect" title="Linux Foundation Linux Certification">Linux Foundation</a></li>
<li><a href="Red_Hat_Certification_Program" title="Red Hat Certification Program">Red Hat</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><b><span class="nowrap"><span class="noviewer" typeof="mw:File"></span> </span><a href="Portal%3ALinux" title="Portal:Linux">Linux portal</a></b></li>
<li><b><span class="nowrap"><span class="noviewer" typeof="mw:File"><span></span></span> </span><a href="Portal%3AFree_and_open-source_software" title="Portal:Free and open-source software">Free and open-source software portal</a></b></li>
<li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> <b>Category</b></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-05-27" href="https://en.wikipedia.org/wiki/?title=New_API&oldid=1292512957">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>